草庐IT

c++ - std::transform 的泛化

全部标签

c# - Visual Studio 2010 创建编译代码的应用程序

我希望能够从我创建的另一个应用程序编译代码。长话短说:我正在使用SDL从头开始​​创建一个2D引擎(请不要评论什么更好用)。我了解如何使用SDL库并可以创建简单的游戏。但是,我想尝试更大的项目,但我需要创建一个应用程序来帮助我组织代码和整个系统。基本上,这个程序就是一个编辑器(很像unity或UDK,但当然没有那么高级)。使用代码编辑器等对实际应用程序进行编程并不难,但我的问题是如何获取该代码并将其编译、运行和/或导出为exe?(获取代码和脚本并将它们放入架构中进行编译不是问题,重要的是知道如何编译它的想法)。这对我来说是一个新想法,谷歌搜索并没有给我想要的结果,所以我决定来Stack

c++ - 替代 std::vector 来存储一系列对象

我正在处理数百万个要按顺序访问的数据元素。元素很少增长和收缩,但会以可预测的方式以已知block大小增长和收缩。我正在寻找类似于std::vector的高效集合,它不会重新分配但将数据保存在多个内存块中。每当我将更多对象放入集合中时,如果最后一个block已用完,则会创建并填充一个新block。我不希望有一个随机访问运营商。由于性能问题和一些超出手头问题范围的其他问题,我无法使用std::list。是否有适合我在boost或任何其他库中的要求的现成集合。在尝试自己做饭之前,我想确保货架上没有可用的东西。 最佳答案 在我看来,最好的选

c++ - 写入视频文件并同时播放

在我有趣的项目中,我从youtube下载视频文件,然后写入本地磁盘上的文件。同时我想玩它。目的是将文件缓存到本地磁盘,以便当我想再次观看视频时,应用程序可以在本地播放,从而节省带宽。我正在使用Python3.3.1、PyQt4/Phonon和LibVLC.到目前为止,我能够做以下事情:给定一个youtubewatchurl,我可以下载视频文件,然后同时使用PyQt4/Phonon和LibVLC独立播放。它不是流媒体。由于LibVLC支持流式传输,我可以通过流式传输给定的url。第二个非常接近我想要做的,但由于它没有将文件保存在磁盘上,下次我无法在本地播放相同的视频。我正在寻找一些关于如

c++ - 如果试图关闭一个已经关闭的套接字 winsock 会发生什么?

这个问题在这里已经有了答案:Callingshutdownandclosesockettwiceonsamesocket(3个答案)关闭9年前。如果我两次调用closesocket(m_socket)会发生什么?第一次调用后,套接字将关闭。第二次调用后是否会发生对程序或应用程序不利的事情。否则它只会返回一个我可以忽略的错误。

c++ - 删除 std::vector 的元素(并更改大小)而不影响分配的内存

我正在使用如下代码:constintMY_SIZE=100000;std::vectorv;v.reserve(MY_SIZE);//addnomorethanMY_SIZEelementstothevectorf(v);v.clear();//again,addnomorethanMY_SIZEelementstothevectorf(v);v.clear();////etc...//我的代码的重点是存储MY_SIZEdouble的然后执行操作f(std::vector)在那些元素上。在我填满vector并执行操作后,我想去掉所有元素(并将std::vector::size()重置为

c++ - CLOCK_THREAD_CPUTIME_ID 在 MacOS 上

我有一个要从Linux移植到MacOSX的函数,它使用带有CLOCK_THREAD_CPUTIME_ID的clock_gettime来测量在进程上花费的时间。我在Internet上找到了这段代码,它可以给我相当于CLOCK_REALTIME的代码:#ifdef__MACH__//OSXdoesnothaveclock_gettime,useclock_get_timeclock_serv_tcclock;mach_timespec_tts;host_get_clock_service(mach_host_self(),CALENDAR_CLOCK,&cclock);clock_get_

c++ - 在 GCC 中列出库函数

是否可以在GCC命令行中列出任何库/头文件中可用的所有库函数?是否有类似JAVAP之类的可用于Java的程序?谢谢。 最佳答案 您可以使用objdump列出共享库(或可执行文件)中的符号:$objdump-T/usr/lib/libclang.so0000000000124150gDF.text00000000000000c1Baseclang_reparseTranslationUnit000000000010fe40gDF.text0000000000000021Baseclang_getNullRange00000000001

c++ - Qt 5 和 QProcess 使用信号/槽 readyRead 重定向标准输出

这个问题困扰着我,因为它应该有效,但遗憾的是它没有。我试图实现的是读取某个进程的标准输出并让另一个进程处理它,即打印出来。产生输出的过程如下所示:#include#include#includeintmain(){for(inti=0;i进程是在另一个应用程序中启动的,如下所示:#include...QProcess*process=newQProcess;SomeClass*someClass=newSomeClass(process);connect(process,SIGNAL(readyRead()),someClass,SLOT(onReadyRead()));process

c++ - FFmpeg 库 : Exactly constant segment duration for HLS

我们正在使用FFmpeg库git-ee94362libavformatv55.2.100。我们的目的是使用HLS将两个流(视频和音频)混合到M3U8播放列表中。此外,我们希望每个TS片段文件的持续时间正好为3.0秒(帧速率为25fps)。为了实现它,我们尝试设置几个选项和属性,即:-分段时间-keyint_min-scenechange_threshold-gop_size-force_key_frames。我们的代码如下所示:AVCodecContext*codec_ctx=NULL;AVFormatContext*ofmt_ctx=NULL;intret=0,gopSize=(in

c++ - 使用 fprintf 获取访问冲突写入位置 0x00000014

我在VisualStudio2010上工作。该程序本身最初是为CUDA的future端口设计的,所以一切都准备好了,但现在我只是测试它是否适用于纯C++(实际上我现在正尝试坚持使用c,因为我对它更熟悉)。相关代码为:#defineNMBR_EXP_ENERGIES21#defineNMBR_Ls3#defineNMBR_POINTS20000intNMBR_EXP_ENERGIES_L[NMBR_Ls];voidwrite_results(double**u,int*NmbrNodes,int*div){constcharprefix[]="wave_function_";charfi